<?php

namespace app\admin\controller;

use think\Controller;
use think\Db;
use think\Request;

class Huser extends Admin
{
    /**
     * 显示资源列表
     *
     * @return \think\Response
     */
    public function index()
    {
        // 查询node表
        $data = Db::name('huser')
            ->field(true)
            ->paginate(4);
        // 分页
        $page = $data->render();
        $total = $data->lastPage();

        $this->assign('data', $data);
        $this->assign('page', $page);
        $this->assign('total', $total);
        return $this->fetch('huser/index');
    }

    /**
     * 显示创建资源表单页.
     *
     * @return \think\Response
     */
    public function create()
    {
        return view();
    }

    /**
     * 保存新建的资源
     *
     * @param  \think\Request  $request
     * @return \think\Response
     */
    public function save(Request $request)
    {
        $post = $request->post();
        unset($post['repass']);
        $post['pass'] = md5($post['pass']);
        $post['regtime'] = date('Y-m-d H:i:s');

        // 执行新增
        $res = Db::name('huser')
            ->data($post)
            ->insert();

        if ($res) {
            return $this->redirect(url('admin/huser/index'));
        } else {
            return $this->error('新增失败');
        }
    }

    /**
     * 显示指定的资源
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function read($id)
    {
        return view('huser/read');
    }

    /**
     * 显示编辑资源表单页.
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function edit($id)
    {
        $data = Db::name('huser')
            ->field(['id','name','status'])
            ->find($id);

        return view('huser/edit', [
            'data'=>$data
        ]);
    }

    /**
     * 保存更新的资源
     *
     * @param  \think\Request  $request
     * @param  int  $id
     * @return \think\Response
     */
    public function update(Request $request, $id)
    {
        $put = $request->put();
        unset($put['_method']);
        $res = Db::name('huser')
            ->where('id',$id)
            ->data($put)
            ->update();
        if ($res) {
            return $this->redirect(url('admin/huser/index'));
        } else {
            return $this->error('编辑失败');
        }
    }

    /**
     * 删除指定资源
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function delete($id)
    {
//        return '111';
        // 执行删除
        $data = Db::name('node')
            ->delete($id);

        return json($data);
    }

    // 用户黑名单列表 status为0的用户
    public function blockList()
    {
        $data = Db::name('huser')
            ->field(['id','name','regtime','status'])
            ->where('status','1')
            ->paginate(4);
        // 分页
        $page = $data->render();
        $total = $data->lastPage();

        $this->assign('data', $data);
        $this->assign('page', $page);
        return $this->fetch('huser/blocklist');
    }

    // 修改状态
    public function doStatus($id)
    {
        $res = Db::name('huser')
            ->field('status')
            ->find($id);
        if ($res['status'] == 0) {
            $arr = ['status'=>1];
            $data = Db::name('huser')
                ->where('id',$id)
                ->update($arr);
            if ($data) {
                return json($arr);
            }
        } else {
            $arr = ['status'=>0];
            $data = Db::name('huser')
                ->where('id',$id)
                ->update($arr);
            if ($data) {
                return json($arr);
            }
        }
    }
}
